﻿using System;
using System.IO;
using System.Windows.Forms;

//namespace Gescan.frm.sistema
//{
public partial class frmEjecutarTransaccion : frmBase // Form
{
    public frmEjecutarTransaccion()
    {
        InitializeComponent();
    }

    private void btnEjecutarSql_Click(object sender, EventArgs e)
    {
        EjecutarSQl(true);
    }

    private void btnSeleccionarFichero_Click(object sender, EventArgs e)
    {
        txtSql.Text = Utiles.FicherosCarpetas.EscogerFichero("Ficheros SQL |*.sql;*.txt");
    }

    private void frmEjecutarTransaccion_Load(object sender, EventArgs e)
    {
        txtSql.Text = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + @"\Sqls";

        cmbOrigen.SelectedIndex = 0;

        txtSqlTExt.ScrollBars = ScrollBars.Vertical;

        txtError.ScrollBars = ScrollBars.Vertical;
    }

    private void btnLimpiar_Click(object sender, EventArgs e)
    {
        txtError.Text = "";

        txtSqlTExt.Text = "";
    }

    private void btnCArgarSql_Click(object sender, EventArgs e)
    {
        txtSqlTExt.Text = File.ReadAllText(txtSql.Text);
    }

    private void btnEjecutarSqlCArgada_Click(object sender, EventArgs e)
    {
        EjecutarSQl(false);
    }

    private void EjecutarSQl(bool bolREcargarSQl)
    {
        Cursor.Current = Cursors.WaitCursor;
        try
        {
            if (MessageBox.Show("Desea Continuar", "Atención",
                MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) == System.Windows.Forms.DialogResult.Yes)
            {
                //if (cmbOrigen.SelectedValue == null || string.IsNullOrWhiteSpace(cmbOrigen.SelectedValue.ToString()))
                if (cmbOrigen.SelectedIndex == -1)
                    throw new Exception("Hay q escoger un valor del combo");

                if (!File.Exists(txtSql.Text)) throw new Exception("No existe el fichero");

                if (bolREcargarSQl) txtSqlTExt.Text = File.ReadAllText(txtSql.Text);

                clsBBDD.EjecutarTransaccion(
                               cmbOrigen.SelectedIndex == 0 ? clsVariables.e_TipoOrigen.Cliente : clsVariables.e_TipoOrigen.Sistema,
                             txtSqlTExt.Text, false);
            }
        }
        catch (Exception _ex)
        {
            //throw;
            txtError.Text = _ex.ToString();
        }
        finally { Cursor.Current = Cursors.Default; }
    }
}
//}
